这个补码对应的原码" />
位运算之左移右移运算之详解 |
您所在的位置:网站首页 › php 左移 › 位运算之左移右移运算之详解 |
先看如下一段左移右移的代码及其结果: ![]() ![]() 左边空出的位用0或者1填补。正数用0填补,负数用1填补。注:不同的环境填补方式可能不同; 低位右移溢出则舍弃该位。 1、127的补码:0111 1111 右移一位: 0011 1111 -> 原码同补码一样 对应十进制:63 右移二位: 0001 1111 -> 原码同补码一样 对应十进制:31 右移三位: 0000 1111 -> 原码同补码一样 对应十进制:15 右移四位: 0000 0111 -> 原码同补码一样 对应十进制:7 右移五位: 0000 0011 -> 原码同补码一样 对应十进制:3 右移六位: 0000 0001 -> 原码同补码一样 对应十进制:1 右移七位: 0000 0000 -> 原码同补码一样 对应十进制:0 右移八位: 0000 0000 -> 原码同补码一样 对应十进制:0 2、-128的补码:1000 0000 右移一位: 1100 0000 -> 这个补码对应的原码为:1100 0000 对应十进制:-64 右移二位: 1110 0000 -> 这个补码对应的原码为:1010 0000 对应十进制:-32 右移三位: 1111 0000 -> 这个补码对应的原码为:1001 0000 对应十进制:-16 右移四位: 1111 1000 -> 这个补码对应的原码为:1000 1000 对应十进制:-8 右移五位: 1111 1100 -> 这个补码对应的原码为:1000 0100 对应十进制:-4 右移六位: 1111 1110 -> 这个补码对应的原码为:1000 0010 对应十进制:-2 右移七位: 1111 1111 -> 这个补码对应的原码为:1000 0001 对应十进制:-1 右移八位: 1111 1111 -> 这个补码对应的原码为:1000 0001 对应十进制:-1 常见应用 左移相当于*2,只是要注意边界问题。如char a = 65; a |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |